const User = require('../models/users')
const bcrypt = require('bcryptjs')

// 检查admin用户是否存在的函数
async function checkAndCreateAdmin() {
  // const hashedPassword = await bcrypt.hash('123456', 10)
  // console.log(bcrypt.compareSync('123456', hashedPassword))

  try {
    // 查找admin用户
    const adminUser = await User.findOne({ username: 'admin' })

    if (!adminUser) {
      // 如果admin用户不存在，则创建它
      const admin = new User({
        username: 'admin',
        password: await bcrypt.hash('123456', 10),
        roles: ['admin']
      })

      // 保存新用户到数据库
      await admin.save()

      // 如果admin用户不存在，则创建它
      const fly = new User({
        username: 'fly',
        password: await bcrypt.hash('123456', 10),
        roles: ['editor']
      })

      // 保存新用户到数据库
      await fly.save()
      console.log('添加超级管理员账号admin和游客账号fly')
    } else {
      console.log('已经添加两个默认账号admin和fly')
    }
  } catch (error) {
    console.error('An error occurred:', error)
  }
}

// 执行检查并创建admin用户的操作
checkAndCreateAdmin()
